JSAI2024 2日目: 機械学習と科学モデル
https://gyazo.com/09c647639202448142a5e240634172ca
機械学習と科学モデル(武石先生)
PINNs, DGM, neural operators
機械学習で科学モデルを解く
科学モデル(科学研究で培われてきたモデル)
機械学習モデル
ニューラルネットワーク、グラフィカルモデル、カーネル法 順問題
数値解法
例: 常微分方程式の: 陽的オイラー法
例: 偏微分方程
ニューラルネット$ u_\theta(t, x)で解$ uを表す
uθが学習するべきパラメータ
https://usercontent.griddles.me/phonnoanno/share/hpKmuTP6TlRR#anno.webp
逆問題
観測$ x_Oと順モデルを決めて、対応するパラメータθを求める
ある$ xを実現するθが無数にある
ベイズの定理
注: 関数$ pは全部それぞれ別物。引数で判断して。
https://gyazo.com/fe2464aabed40b8859882ef57301d7e9
科学モデルでは中間の潜在変数を観測できないことはよくある Simulation-based inference(SBI)
尤度関数の値を計算せず、事後分布を推論する
尤度なし推論(likelihood-free inference)ともいう
深層学習ベースの方法ではSBIと呼ぶ傾向
https://gyazo.com/e440e198a7866f282a529809bc0da30c https://ntake.jp/talk/jsai2024_tutorial.pdf
Approximate Bayesian computation (ABC)
ABC rejection
入力: 事前分布、シミュレータ、観測、しきい値、統計量(特徴量抽出器)
出力: 保存したサンプルの集合
深層学習によるSBI
シミュレータからデータを生成して深層生成モデルを学習する
Neural posterior estimation (NPE)
normalizing flows
sbiパッケージがすごくよい
code:py
from sbi import utils
from sbi.inference import SNPE_C, simulate_for_sbi
from sbi.utils.user_input_checks import check_sbi_inputs, process_prior, process_simulator
Sequential NPE
データの生成とモデルの学習を繰り返す
機械学習と科学モデルのハイブリッドモデリング
グレーボックスモデリング
予測をよりよく、解釈しやすく、両者の良いとこ取りを試みる
例
Hamiltonian neural networks
渋滞長予測
GNNモデルの出力の最後の層にQT-layer(科学モデル)を配置
https://usercontent.griddles.me/phonnoanno/share/yzpxkBSUBs9V#anno.webp https://ntake.jp/talk/jsai2024_tutorial.pdf
気象予測
接触などのある剛体シミュレーション
ハイブリッドモデルの作り方
モデルの最終層に科学モデルを配置
→ 機械学習による特徴抽出アプローチ
注: 機械学習g(x)モデルだけでデータにフィットしてしまう可能性あり。g(x)の過剰な表現力を抑えるべき。y = f(x) + g(x) を考えるとき、g(x) が y - f(x) にフィットしてしまうと科学モデル f(x) は性能に寄与しないことになる。
モデルの入力に科学モデルを配置
→ 機械学習による残渣調整アプローチ
ハイブリッドモデルと「科学モデルだけの場合」の差を小さくなるよう正則化 なるほどすごい daiiz.icon
https://usercontent.griddles.me/phonnoanno/share/NwmGFWfOxlhU#anno.webp https://ntake.jp/talk/jsai2024_tutorial.pdf
メモ daiiz.icon
作用素、写像
尤度: likelihood
英語のほうがイメージしやすい
事後分布: posterior
読み方 $ p(x|\theta): p of x given theta
Overconfidence
closure
discrepancy modeling